using System;
using System.Net;
using NetDns;

namespace NetDns.Transport
{
	/// <summary>
	/// Summary description for AbstractTransport.
	/// </summary>
	public abstract class AbstractTransport : ITransport
	{
		protected readonly IPEndPoint endpoint;
		protected static int uniqueId;

		protected AbstractTransport(IPEndPoint endpoint)
		{
			this.endpoint = endpoint;
		}
		protected AbstractTransport(IPAddress address, int port)
		{
			this.endpoint = new IPEndPoint(address, port);
		}
		protected AbstractTransport(IPAddress address)
		{
			this.endpoint = new IPEndPoint(address, 53);
		}

		public abstract byte[] SendRequest(byte[] requestMessage);

	}
}
